1. Field of the Invention
The present invention relates to a communication device for selecting a route of a packet in a packet switching network comprising an IP (Internet Protocol) network such as the Internet, intranets etc.
2. Description of the Related Art
The Internet is a data network in which the terminals are mutually connected worldwide. The Internet users rapidly increase. What is characteristic of the Internet is that routing is executed based on an IP datagram (IP packet) as an unit, and a connection is not set at an IP level.
In the Internet, the IP packets are forwarded by reference to a routing table in which to describe a destination address and a next hop (router) corresponding to the destination address. The destination address contains a piece of address mask information in order to make searchable a network unit of the destination or a predetermined aggregated unit.
In general, means for creating the routing table involves the use of a dynamic routing protocol such as RIP (Routing Information Protocol), OSPF (Open Shortest Path First) and so on. Main objects of the use of dynamic routing are to automate designing of routes of packets and to dynamically react to extension and failure of nodes and links. Dynamic routing aims at creating a routing table. The routing table based on dynamic routing is created in a way that a distributed algorithm resolves such a spanning tree as to minimize a router's cost (Metric) in the network. RIP and OSPF account for a hop count (the number of routers to the destination) as a cost needed for creating the routing table but do not account for a network's load etc as a cost.
On the other hand, there is used a method by which an operator (e.g., a network administrator) manually writes entries to the routing table. This method is known as static routing in contrast with dynamic routing.
According to dynamic routing, the cost is recalculated corresponding to a change in topology of the network due to extension or failure of the nodes and the links, and the routing table is automatically updated corresponding to a result of the recalculation.
By contrast, according to static routing, even if the topology changes, the contents of the routing table are not changed as far as the operator does not update the routing table. Therefore, according to static routing, the operator must update the routing table when the topology changes. So far as the operator does not acknowledge, the contents of the routing table are not changed. Hence, intentional control of the operator (which is called a “policy”) can be reflected in the network.
According to dynamic routing, even when there exist a plurality of routes from a certain network to other network, the spanning tree is that there is only one route for minimizing the hop count. Namely, only one route for minimizing the hop count is selected (by a spanning tree algorithm) among the plurality of routes.
An allowable capacity of route (load to the network) has hitherto not been considered for selecting the route. Therefore, if traffic exceeding the allowable capacity of the selected route occur, packets of the traffic over the allowable capacity are discarded.
A main stream in the Internet may be served for providing only connectivity (reachability of the packet). Only the reachability of IP packet to a destination of the communication is secured by endorsing the connectivity.
On the other hand, what has been required over the recent years may be services for guaranteeing predetermined communication qualities such as data communication services for securing, VoIP (Voice over IP: IP network based voice communications), and a video transfer and so on. Some sort of policy must be reflected in the network in order to actualize the services for guaranteeing the communication qualities.
Herein, if static routing is adopted, the predetermined policy can be reflected in the network. According to static routing, however, the operator must update the routing table. Static routing is therefore incapable of quickly troubleshooting failure in the network.